public class CountSegments {

//    public static int countSegment(String s,int len) {
//
//        //该方法没有对输入的数据进行去除空格的操作，有可能导致空格影响最后的结果
//        String[] strings = s.split(" ");
//
//        //没有对特殊数据进行特殊的处理，比如空格串和空串，最终导致结果不准确
//        return strings.length;
//    }

      public static int countSegment(String s) {
          //使用trim方法，去除字符串首尾的空格，确保不会因为空格而影响分割的结果
          //正则表达式\\s+ 表示空白字符的转义序列
          String[] strings = s.trim().split("\\s+");

          //如果strings数组的长度是0或者strings数组的一开头就是空串的话
          //说明原字符串为空或者仅仅包含空格，此时字符串中的有效单词个数为0，直接返回即可
          if(strings.length == 0 || strings[0].isEmpty()) {
              return 0;
          }

          //不是以上的特殊情况，返回strings数组的长度即可，即有效段的数量
          return strings.length;
      }

      public static void main(String[] args) {
          String s = "";
          int result = countSegment(s);
          System.out.println(result);
      }
}
